﻿using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;
using Styx.Common;
using System.ComponentModel;
using DefaultValue = Styx.Helpers.DefaultValueAttribute;
using Styx.TreeSharp;
using Styx.WoWInternals.WoWObjects;
using System.Windows.Forms;

namespace Priest
{
    class PriestSettingsDisc : Settings
    {
        private static LocalPlayer Me { get { return StyxWoW.Me; } }
        public static readonly PriestSettingsDisc myPrefs = new PriestSettingsDisc();
        
        public PriestSettingsDisc() 
            :base(Path.Combine(Utilities.AssemblyDirectory, string.Format(@"Routines/Settings/Priest/{0}-PriestSettingsDisc-{1}.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name)))
        {
        }

        //Disc
        [Setting, DefaultValue(true)]
        public bool AutoDispel { get; set; }

        [Setting, DefaultValue(true)]
        public bool AutoPurify { get; set; }

        [Setting, DefaultValue(0)]
        public int UseAtonement { get; set; }

        [Setting, DefaultValue(0)]
        public int UseAtonementManaPercent { get; set; }

        [Setting, DefaultValue(100)]
        public int PwsTanks { get; set; }

        [Setting, DefaultValue(90)]
        public int PwsHealers { get; set; }

        [Setting, DefaultValue(85)]
        public int PwsDamage { get; set; }

        [Setting, DefaultValue(85)]
        public int PenanceTanks { get; set; }

        [Setting, DefaultValue(80)]
        public int PenanceHealers { get; set; }

        [Setting, DefaultValue(75)]
        public int PenanceDamage { get; set; }

        [Setting, DefaultValue(false)]
        public bool PenanceHealingOnly { get; set; }

        [Setting, DefaultValue(95)]
        public int MendingTanks { get; set; }

        [Setting, DefaultValue(85)]
        public int MendingHealers { get; set; }

        [Setting, DefaultValue(75)]
        public int MendingDamage { get; set; }

        [Setting, DefaultValue(55)]
        public int PrayerOfHealingPercent { get; set; }

        [Setting, DefaultValue(3)]
        public int PrayerOfHealingPlayerCount { get; set; }

        [Setting, DefaultValue(false)]
        public bool BarrierAutoUse { get; set; }

        [Setting, DefaultValue(65)]
        public int BarrierPercent { get; set; }

        [Setting, DefaultValue(4)]
        public int BarrierPlayerCount { get; set; }

        [Setting, DefaultValue(85)]
        public int CascadeHealth { get; set; }

        [Setting, DefaultValue(3)]
        public int CascadePlayerCount { get; set; }

        [Setting, DefaultValue(false)]
        public bool PainAutoUse { get; set; }

        [Setting, DefaultValue(65)]
        public int PainPercent { get; set; }

        [Setting, DefaultValue(0)]
        public int ManaRegen { get; set; }

        [Setting, DefaultValue(80)]
        public int ManaRegenPercent { get; set; }

        [Setting, DefaultValue(75)]
        public int HolyNovaPercent { get; set; }

        [Setting, DefaultValue(2)]
        public int HolyNovaPlayerCount { get; set; }

        [Setting, DefaultValue(80)]
        public int HealTanks { get; set; }

        [Setting, DefaultValue(75)]
        public int HealHealers { get; set; }

        [Setting, DefaultValue(70)]
        public int HealDamage { get; set; }

        [Setting, DefaultValue(55)]
        public int FlashHealTanks { get; set; }

        [Setting, DefaultValue(50)]
        public int FlashHealHealers { get; set; }

        [Setting, DefaultValue(45)]
        public int FlashHealDamage { get; set; }

        [Setting, DefaultValue(5)]
        public int ArchangelStacks { get; set; }

        [Setting, DefaultValue(55)]
        public int DesperatePrayerPercent { get; set; }

        [Setting, DefaultValue(65)]
        public int GiftOfTheNaaruPercent { get; set; }
    }
}
